Component-Based Synthesis for Complex APIs
ثبت نشده
چکیده
Component-based approaches to program synthesis assemble programs from a database of existing components, such as methods provided by an API. In this paper, we present a novel type-directed algorithm for component-based synthesis. The key novelty of our approach is the use of a compact Petri-net representation to model relationships between methods in an API. Given a target method signature S, our approach performs reachability analysis on the underlying Petri-net model to identify sequences of method calls that could be used to synthesize an implementation of S. The programs synthesized by our algorithm are guaranteed to type check and pass all test cases provided by the user. We have implemented this approach in a tool called SYPET, and used it to successfully synthesize real-world programming tasks extracted from on-line forums and existing code repositories. We also compare SYPET with two state-of-the-art synthesis tools, namely INSYNTH and CODEHINT, and demonstrate that SYPET can synthesize more programs in less time. Finally, we compare our approach with an alternative solution based on hypergraphs and demonstrate its advantages.
منابع مشابه
Three-Component and Click Strategy for Synthesis of β-Hydroxy 1,4-Disubstituted 1,2,3-Triazoles Derivatives Catalyzed by 1,4-Dihydroxyanthraquinone-copper(II) Complex onto Nano AlPO4
In this work, copper(II) heterogeneous nanocatalyst supported on modified AlPO4 (Cu(II)-DA@Nano AlPO4) was used for the synthesis of some biological active heterocyclic molecules, particularly for the efficient conversion of a wide range of non-activated terminal alkynes to β-hydroxy 1,4-disubstituted 1,2,3-triazolethrough a three-component “click” reaction at room temperature in water. The reg...
متن کاملThree-component procedure for the synthesis of new chiral spirooxindolopyrrolizidines via catalytic highly enantioselective 1,3-dipolar cycloaddition
The catalytic highly regio-, diastereo-, and enantioselective synthesis of a small library of spiropyrrolizidineoxindolesvia a four-component 1,3-dipolar cycloaddition reaction of azomethine ylides, derived from isatin, with electron-deficient dipolarophilewas described. The process occurs at room temperature in aqueous ethanol as a green solvent and in the presence of a bidendatebis(imine)–Cu(...
متن کاملOne-pot Four-component Reaction for Convenient Synthesis of New Quinoxaline Derivatives in the Presence of K2CO3
Convenient and simple procedures for the synthesis of functionalized Quinoxaline derivatives were developed via one-pot four-component reaction of o-aminoanilin, acetylenic ester, and malonyl dichloride in the presence of K2 CO3 as effective base catalyst. These compounds widely are used in various industries like paint, pharmaceutical and medicine. Quinoxaline derivatives are also part of anti...
متن کاملThree-Component Procedure for the Synthesis Chiral Spirooxindolopyrrolizidines via Catalytic Highly Enantioselective 1,3-Dipolar Cycloaddition of Azomethineylides and 3-(2-Alkenoyl)-1,3-Oxazolidin-2-ones
The catalytic highly regio-, diastereo-, and enantioselective synthesis of a small library of spiropyrrolizidineoxindolesvia a four-component 1,3-dipolar cycloaddition reactionof azomethineylides, derived from isatin, with electron-deficient dipolarophilewas described. The process occurs at room temperature in aqueous ethanol as a green solvent and in the presence of a bidendatebis(imi...
متن کاملThree-Component Procedure for the Synthesis Chiral Spirooxindolopyrrolizidines via Catalytic Highly Enantioselective 1,3-Dipolar Cycloaddition of Azomethineylides and 3-(2-Alkenoyl)-1,3-Oxazolidin-2-ones
The catalytic highly regio-, diastereo-, and enantioselective synthesis of a small library of spiropyrrolizidineoxindolesvia a four-component 1,3-dipolar cycloaddition reactionof azomethineylides, derived from isatin, with electron-deficient dipolarophilewas described. The process occurs at room temperature in aqueous ethanol as a green solvent and in the presence of a bidendatebis(imi...
متن کاملReverse engineering reusable software components from object-oriented APIs
Object-oriented Application Programing Interfaces (APIs) support software reuse by providing pre-implemented functionalities. Due to the huge number of included classes, reusing and understanding large APIs is a complex task. Otherwise, software components are accepted to be more reusable and understandable entities than object-oriented ones. Thus, in this paper, we propose an approach for reen...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2016